{ "cells": [ { "cell_type": "markdown", "id": "11b2bef2", "metadata": {}, "source": [ "# Loading A Custom Box Model in MusicBox\n", "\n", "MusicBox provides two primary ways to load custom box models:\n", "* Loading a pre-made example configuration\n", "* Loading your own JSON configuration file\n", "\n", "This tutorial covers both approaches.\n", "\n", "**Note:** Configuration files define all aspects of your box model, including initial and evolving conditions, simulation parameters, and the complete mechanism (species, reactions, and phases)." ] }, { "cell_type": "markdown", "id": "9e250207", "metadata": {}, "source": [ "## 1. Loading Pre-made Box Model Examples\n", "\n", "MusicBox includes several built-in example configurations accessible through the `Examples` class. Each example has a `path` attribute that points to its JSON configuration file.\n", "\n", "You can load an example using the `loadJson()` method, which takes the configuration path as a parameter.\n", "\n", "The available examples include:\n", "* [Analytical](https://github.com/NCAR/music-box/tree/main/examples/analytical) \n", "* [CarbonBond5](https://github.com/NCAR/music-box/tree/main/examples/carbon_bond_5)\n", "* [Chapman](https://github.com/NCAR/music-box/tree/main/examples/chapman)\n", "* [FlowTube](https://github.com/NCAR/music-box/tree/main/examples/flow_tube)\n", "* [TS1](https://github.com/NCAR/music-box/tree/main/examples/ts1)\n", "* [WACCM](https://github.com/NCAR/music-box/tree/main/examples/waccm)\n", "\n", "The code below demonstrates the Analytical example. You can try any other example by replacing `Analytical` with a different name in `Examples.Analytical.path`.\n", "\n", "To load, run, and visualize an example box model:" ] }, { "cell_type": "code", "execution_count": null, "id": "4ab7a11a", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ " \r" ] }, { "data": { "text/html": [ "
| \n", " | time.s | \n", "ENV.temperature.K | \n", "ENV.pressure.Pa | \n", "ENV.air number density.mol m-3 | \n", "CONC.A.mol m-3 | \n", "CONC.B.mol m-3 | \n", "CONC.C.mol m-3 | \n", "
|---|---|---|---|---|---|---|---|
| 0 | \n", "0.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.800000 | \n", "2.000000e-01 | \n", "0.300000 | \n", "
| 1 | \n", "6.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.775723 | \n", "3.979221e-08 | \n", "0.524277 | \n", "
| 2 | \n", "12.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.752182 | \n", "3.858465e-08 | \n", "0.547818 | \n", "
| 3 | \n", "18.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.729356 | \n", "3.741374e-08 | \n", "0.570644 | \n", "
| 4 | \n", "24.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.707222 | \n", "3.627836e-08 | \n", "0.592777 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 96 | \n", "576.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.041522 | \n", "2.129939e-09 | \n", "1.258478 | \n", "
| 97 | \n", "582.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.040262 | \n", "2.065302e-09 | \n", "1.259738 | \n", "
| 98 | \n", "588.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.039040 | \n", "2.002627e-09 | \n", "1.260960 | \n", "
| 99 | \n", "594.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.037855 | \n", "1.941854e-09 | \n", "1.262145 | \n", "
| 100 | \n", "600.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.036706 | \n", "1.882926e-09 | \n", "1.263294 | \n", "
101 rows × 7 columns
\n", "| \n", " | time.s | \n", "ENV.temperature.K | \n", "ENV.pressure.Pa | \n", "ENV.air number density.mol m-3 | \n", "CONC.A.mol m-3 | \n", "CONC.B.mol m-3 | \n", "CONC.C.mol m-3 | \n", "
|---|---|---|---|---|---|---|---|
| 0 | \n", "0.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.800000 | \n", "2.000000e-01 | \n", "0.300000 | \n", "
| 1 | \n", "6.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.775723 | \n", "3.979221e-08 | \n", "0.524277 | \n", "
| 2 | \n", "12.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.752182 | \n", "3.858465e-08 | \n", "0.547818 | \n", "
| 3 | \n", "18.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.729356 | \n", "3.741374e-08 | \n", "0.570644 | \n", "
| 4 | \n", "24.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.707222 | \n", "3.627836e-08 | \n", "0.592777 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 96 | \n", "576.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.041522 | \n", "2.129939e-09 | \n", "1.258478 | \n", "
| 97 | \n", "582.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.040262 | \n", "2.065302e-09 | \n", "1.259738 | \n", "
| 98 | \n", "588.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.039040 | \n", "2.002627e-09 | \n", "1.260960 | \n", "
| 99 | \n", "594.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.037855 | \n", "1.941854e-09 | \n", "1.262145 | \n", "
| 100 | \n", "600.0 | \n", "200.0 | \n", "70000.0 | \n", "42.095324 | \n", "0.036706 | \n", "1.882926e-09 | \n", "1.263294 | \n", "
101 rows × 7 columns
\n", "